﻿using OverStore.Runtime.Storage;

namespace OverStore.Runtime.ObjectRepository.CommandSet
{
    /// <summary>
    /// The simplest <see cref="ICommandSet"/> implementation.
    /// </summary>
    public sealed class CommandSet : ICommandSet
    {
        /// <summary>
        /// Get <see cref="ICommand"/> allows to read object data from storage.
        /// </summary>
        public ICommand SelectCommand { get; set; }

        /// <summary>
        /// Get <see cref="ICommand"/> allows to add new object to storage.
        /// </summary>
        public ICommand InsertCommand { get; set; }

        /// <summary>
        /// Get <see cref="ICommand"/> allows to update existing object in storage.
        /// </summary>
        public ICommand UpdateCommand { get; set; }

        /// <summary>
        /// Get <see cref="ICommand"/> allows to delete object from storage.
        /// </summary>
        public ICommand DeleteCommand { get; set; }
    }
}